// 1. 修正变量声明与分号，删除重复定义
let pg = true;
let pp: (string | number)[] = ["56", "45", "ze"];
let ppp: string = "2s"; // 移除重复的ppp声明

// 2. 修正类型定义语法（添加=，修复联合类型）
type ooo = string | number | boolean; // 正确：type 类型名 = ...

// 3. 接口与类型定义修正
interface Per {
  name: string;
  age: number; // 修正笔误age2→age
  height: number;
}

type PPP = { // 重命名类型避免与变量冲突，明确属性类型
  name: string;
  age: number; // 若需固定值用age: 18
};

// 4. 对象赋值匹配类型（移除多余属性）
let www: PPP = {
  name: "zs",
  age: 15 // 若PPP中age固定为18，此处需改为18
};

// 5. 修正接口继承与变量名（变量名不能以数字开头）
interface SubPer extends Per {
  id: number;
}
let subPerObj: SubPer = { // 合法变量名
  name: "zs",
  age: 15,
  height: 161,
  id: 1 // 添加SubPer必需的id属性
};
type ppppi = pppp & { id: number }
let llll: ppppi = {
name: "zs",
age: 18,
id: 1
}
let el: unknown = 56; // 不知道类型（安全
// if (typeof el === "number") { // 类型
// console.log(el.toFixed(2))
console.log((e1 as number).toFixed(2))
let kkk:string|number="xiaohong"
console.log(kkk.length)
function get1():string|number{
    return "zs"
}
let res6 =get1()
if(typeof res6=== "string"){
    res6.length
}